package com.prd.mapper;

import com.prd.dto.SysMenuDTO;
import com.prd.model.SysMenuDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.prd.util.JsonData;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 菜单（权限）数据表 Mapper 接口
 * </p>
 *
 * @author lizhaoyi
 * @since 2024-01-09
 */
public interface SysMenuMapper extends BaseMapper<SysMenuDO> {

    /**
     * 查询菜单列表
     * @param sysMenuDTO
     * @return
     */
    List<SysMenuDO> selectMenuList(SysMenuDTO sysMenuDTO);

    /**
     * 根据用户查询系统菜单列表
     * @param sysMenuDTO
     * @param userId
     * @return
     */
    List<SysMenuDO> selectMenuListByUserId(@Param("sysMenuDTO") SysMenuDTO sysMenuDTO, @Param("userId") Long userId);

    /**
     * 根据角色ID查询菜单树信息
     * @param roleId
     * @return
     */
    List<SysMenuDO> selectMenuListByRoleId(Long roleId);
}
